# 元组的操作方式和列表基本相同,但是由于元组不可修改的特性,所以元组的操作方式中没有增删改,只能进行查询

# 1. 元组的定义
# 格式: 变量 = (元素1, 元素2, ....)
tuple1 = (1, 2, 3, 4)
print(tuple1)  # (1, 2, 3, 4)
print(type(tuple1))  # <class 'tuple'>

print('-----------------------')
# 2. 创建空元组
tuple2 = ()
print(tuple2)  # ()
print(type(tuple2))  # <class 'tuple'>

tuple3 = tuple()
print(tuple3)  # ()
print(type(tuple3))  # <class 'tuple'>

print('-----------------------')
# 3. 定义一个单元素元组的方法
tuple4 = (3)
print(tuple4)  # 3
print(type(tuple4))  # <class 'int'>

# 注意: 创建单元素元组时,必须在元素末尾添加逗号,否则创建的就不是元组,而是内部元素本身的数据类型
tuple5 = (3,)
print(tuple5)  # (3,)
print(type(tuple5))  # <class 'tuple'>

# 当括号内没有逗号时,我们认为括号时提升算术运算符优先级用的
# (2 + 3) * 4 此时()修改了算数运算符的优先级,此时计算机先将2 + 3 的结果计算出来,放入括号中, (5) * 4  最终结果是20  (5) 就等价与整型5

print('-----------------------')
# 4. 当我们创建元组时, 元组最外层的括号时可以省略的, 系统会帮我们自动添加
tuple6 = 1, 2, 3, 4, 5
print(tuple6)  # (1, 2, 3, 4, 5)
print(type(tuple6))  # <class 'tuple'>

tuple7 = 3,
print(tuple7)  # (3,)
print(type(tuple7))  # <class 'tuple'>

# 自动添加括号仅限于元组的定义和返回

